import java.io.IOException;

/**
 * @author christoph.stueber@mes-alsfeld.de
 * @version Schuljahr 2011/201
 *          erstellt 14.04.2014
 *          geändert 24.04.2014
 */
public class Hauptprogramm
{
    /** */
    public static final String HOST = "127.0.0.1";

    /**
     * @param args the command line arguments
     * @throws InterruptedException
     */
    public static void main(String[] args) throws InterruptedException
    {
        
        SteuerServer s = new SteuerServer(8080);
        
        s.starteServer();
        Thread.sleep(1000);

        Socket c = null;
        try
        {
            c = new Socket(HOST, 8080);
        } catch (IOException e)
        {
            // TODO Auto-generated catch block
            System.err.println("Fehler bei Verbindungsaufnahme "
                    + e.getMessage());
        }

        if (!c.connect())
        {
            System.err.println("Timeout");
            System.exit(2);
        }

        System.out.println("quit - <return>");
        String eingabe = "";

        while (!eingabe.toLowerCase().startsWith("quit"))
        {
            Thread.sleep(1000);
            try
            {
                while (c.dataAvailable() > 0)
                {
                    System.out.print((char) c.read());
                }
                System.out.println();
                eingabe = Konsole.readString("-> ");
                c.write(eingabe + "\n\r");
            } catch (IOException e)
            {
                // TODO Auto-generated catch block
                System.err.println("I/O-Fehler " + e.getMessage());
            }
        }
        System.out.println("Server beenden");
        try
        {
            c.close();
        } catch (IOException e)
        {
            // TODO Auto-generated catch block
            System.err.println("I/O-Fehler beim Schließen " + e.getMessage());
        }
        s.beenden();
    }
}
